home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 April / EnigmA AMIGA RUN 17 (1997)(G.R. Edizioni)(IT)[!][issue 1997-04][EAR-CD].iso / EARCD / comm / term / term_47a_pch.lha / Source / term-4.7a / Data.h < prev    next >
C/C++ Source or Header  |  1996-11-09  |  19KB  |  789 lines

  1. /*
  2. **    Data.h
  3. **
  4. **    Global symbol definitions
  5. **
  6. **    Copyright © 1990-1996 by Olaf `Olsen' Barthel
  7. **        All Rights Reserved
  8. */
  9.  
  10. #ifndef _DATA_H
  11. #define _DATA_H 1
  12.  
  13.     /* In VersionTag.a */
  14.  
  15. extern LONG             TermVersion;
  16. extern LONG             TermRevision;
  17. extern UBYTE             TermName[];
  18. extern UBYTE             TermDate[];
  19. extern UBYTE FAR         VersTag[];
  20.  
  21. /**********************************************************************/
  22.  
  23.  
  24. extern BOOL             DebugFlag;
  25.  
  26.     /* Libraries. */
  27.  
  28. extern struct ExecBase        *SysBase;
  29. extern struct DosLibrary    *DOSBase;
  30. extern struct Library        *GTLayoutBase;
  31.  
  32. extern struct IntuitionBase    *IntuitionBase;
  33. extern struct GfxBase        *GfxBase;
  34. extern struct RxsLib        *RexxSysBase;
  35. extern struct LocaleBase    *LocaleBase;
  36. extern struct Library        *GadToolsBase,
  37.                 *DiskfontBase,
  38.                 *UtilityBase,
  39.                 *AslBase,
  40.                 *IFFParseBase,
  41.                 *CxBase,
  42.                 *IconBase,
  43.                 *LayersBase,
  44.                 *TranslatorBase,
  45.                 *WorkbenchBase,
  46.                 *AmigaGuideBase,
  47.                 *XEmulatorBase,
  48.                 *XProtocolBase,
  49.                 *DataTypesBase,
  50.                 *OwnDevUnitBase;
  51. extern struct Device        *TimerBase,
  52.                 *ConsoleDevice;
  53. extern BOOL             Kick30;
  54.  
  55.     /* Timer device. */
  56.  
  57. extern struct timerequest    *TimeRequest;
  58. extern struct MsgPort        *TimePort;
  59.  
  60.     /* Console device. */
  61.  
  62. extern struct IOStdReq        *ConsoleRequest;
  63. extern struct KeyMap        *KeyMap;
  64. extern BPTR             KeySegment;
  65.  
  66.     /* Screen & Windows. */
  67.  
  68. extern struct Screen        *Screen,
  69.                 *SharedScreen;
  70. extern struct Window        *Window;
  71. extern ULONG             OpenWindowTag;
  72. extern LONG             WindowWidth,
  73.                  WindowHeight,
  74.                  WindowLeft,
  75.                  WindowTop;
  76. extern struct Window        *StatusWindow;
  77. extern UWORD             StatusOffset;
  78. extern struct RastPort         StatusRastPort,
  79.                 *StatusRPort;
  80. extern UWORD             StatusDisplayLeft,
  81.                   StatusDisplayTop,
  82.                   StatusDisplayWidth,
  83.                   StatusDisplayHeight;
  84. extern APTR             OldWindowPtr;
  85. extern UBYTE             ScreenTitle[80];
  86. extern UBYTE             WindowTitle[80];
  87. extern UBYTE             DepthMask;
  88. extern LONG             RenderPens[4],
  89.                  MappedPens[2][32],
  90.                  SafeTextPen;
  91. extern struct DrawInfo        *DrawInfo;
  92. extern UWORD            *Pens;
  93. extern LONG             ScreenWidth,
  94.                  ScreenHeight;
  95. extern BOOL             UseMasking;
  96.  
  97. extern struct BlockMarker    *WindowMarker;
  98. extern BOOL             Marking;
  99.  
  100.     /* Graphics rendering. */
  101.  
  102. extern struct ViewPort        *VPort;
  103. extern struct RastPort        *RPort;
  104. extern struct Region        *ClipRegion,
  105.                 *OldRegion;
  106. extern struct TextFont        *GFX,
  107.                 *CurrentFont,
  108.                 *UserTextFont;
  109. extern WORD             UserFontHeight,
  110.                  UserFontWidth,
  111.                  UserFontBase;
  112. extern UBYTE             UserFontName[MAX_FILENAME_LENGTH];
  113. extern struct TextFont        *TextFont;
  114. extern WORD             TextFontHeight,
  115.                  TextFontWidth,
  116.                  TextFontBase;
  117. extern struct TTextAttr         TextAttr;
  118. extern UBYTE             TextFontName[MAX_FILENAME_LENGTH];
  119. extern struct TTextAttr         UserFont;
  120. extern struct TagItem         TagDPI[2];
  121. extern APTR             VisualInfo;
  122. extern UWORD             FontRightExtend;
  123.  
  124. extern ULONG            (* ReadAPen)(struct RastPort *RPort);
  125. extern ULONG            (* ReadBPen)(struct RastPort *RPort);
  126. extern ULONG            (* ReadDrMd)(struct RastPort *RPort);
  127. extern ULONG            (* SetMask)(struct RastPort *RPort,ULONG Mask);
  128. extern ULONG            (* GetMask)(struct RastPort *RPort);
  129.  
  130. extern UWORD             MonoPens[];
  131. extern UWORD             StandardPens[];
  132. extern UWORD             ANSIPens[];
  133. extern UWORD             EGAPens[];
  134. extern UWORD             NewEGAPens[];
  135. extern UWORD             AtomicColours[16];
  136. extern UWORD             EGAColours[16];
  137. extern UWORD             ANSIColours[16];
  138.  
  139. extern UWORD             DefaultColours[32],
  140.                  BlinkColours[32],
  141.                  NormalColours[32],
  142.                  StandardColours[32],
  143.                  PaletteSize;
  144.  
  145.     /* Line/Column offset tables. */
  146.  
  147. extern LONG            *OffsetXTable,
  148.                 *OffsetYTable;
  149.  
  150.     /* DOS data. */
  151.  
  152. extern struct Process        *ThisProcess;
  153. extern struct Process        *StatusProcess;
  154. extern struct Process        *RexxProcess;
  155. extern struct MsgPort        *TermRexxPort;
  156. extern struct WBStartup        *WBenchMsg;
  157. extern BPTR             WBenchLock;
  158. extern struct TermPort        *TermPort;
  159. extern BYTE             CheckBit,
  160.                  OwnDevBit;
  161. extern BOOL             InRexx;
  162. extern struct timeval         LimitTime;
  163. extern UBYTE             LimitMacro[MAX_FILENAME_LENGTH];
  164.  
  165.     /* Character conversion. */
  166.  
  167. extern struct InputEvent    *FakeInputEvent;
  168.  
  169.     /* Serial I/O. */
  170.  
  171. extern struct IOExtSer        *ReadRequest;
  172. extern struct IOExtSer        *WriteRequest;
  173. extern struct MsgPort        *ReadPort;
  174. extern struct MsgPort        *WritePort;
  175. extern UBYTE             ReadChar;
  176. extern UBYTE            *ReadBuffer,
  177.                 *HostReadBuffer;
  178. extern ULONG             DTERate,
  179.                  SerialBufferSize;
  180. extern BOOL             ProcessIO;
  181. extern BOOL             FirstInvocation;
  182.  
  183. extern UBYTE             NewDevice[MAX_FILENAME_LENGTH];
  184. extern LONG             NewUnit;
  185. extern BOOL             UseNewDevice,
  186.                  UseNewUnit;
  187.  
  188. extern LONG             BaudRates[];
  189. extern WORD             NumBaudRates;
  190.  
  191. extern struct RendezvousSemaphore    RendezvousSemaphore;
  192.  
  193.     /* Localization support. */
  194.  
  195. extern struct Catalog        *Catalog;
  196. extern struct Locale        *Locale;
  197. extern STRPTR             DecimalPoint;
  198. extern struct CatCompArrayType    *AppStrings;
  199. extern WORD             NumAppStrings;
  200. extern UBYTE             ConvNumber[30],
  201.                  ConvNumber10[30];
  202.  
  203.     /* Hotkeys. */
  204.  
  205. extern struct Hotkeys         Hotkeys;
  206.  
  207.     /* Static default fonts. */
  208.  
  209. extern struct TextAttr DefaultFont;
  210. extern struct TextAttr GFXFont;
  211.  
  212.     /* Character lookup tables. */
  213.  
  214. extern BYTE IsPrintable[256];
  215. extern BYTE IsGlyph[256];
  216. extern BYTE CharType[256];
  217.  
  218.     /* ISO -> IBM font conversion. */
  219.  
  220. extern UBYTE IBMConversion[256];
  221.  
  222.     /* IBM -> ISO font conversion. */
  223.  
  224. extern UBYTE ISOConversion[256];
  225.  
  226.     /* Table of graphics characters. */
  227.  
  228. extern BYTE GfxTable[256];
  229.  
  230.     /* Special character treatment. */
  231.  
  232. extern struct SpecialKey     SpecialKeys[14];
  233. extern JUMP            *SpecialTable;
  234.  
  235. extern BYTE             AbortMap[256];
  236. extern JUMP            *AbortTable;
  237.  
  238. extern CONTRANSFER         ConDump,
  239.                  ConOutput,
  240.                  ConProcessData;
  241.  
  242.     /* Some more handy buffers. */
  243.  
  244. extern UBYTE ARexxCommandBuffer[256],AmigaDOSCommandBuffer[256],DialNumberBuffer[256];
  245.  
  246.     /* Screen pull-down-menu. */
  247.  
  248. extern struct NewMenu        *TermMenu;
  249. extern WORD             NumMenuEntries;
  250.  
  251. extern LONG             QuickDialTable[DIAL_MENU_MAX];
  252. extern LONG             QuickDialMax;
  253.  
  254. extern struct SignalSemaphore     MenuSemaphore;
  255. extern struct Menu        *Menu;
  256. extern struct Image        *AmigaGlyph,*CheckGlyph;
  257.  
  258.     /* Cross-hatch pattern. */
  259.  
  260. extern ULONG Crosshatch;
  261.  
  262.     /* Configuration. */
  263.  
  264. extern struct Configuration    *Config,
  265.                 *PrivateConfig,
  266.                 *BackupConfig;
  267. extern struct SpeechConfig     SpeechConfig;
  268. extern BOOL             English;
  269. extern BOOL             Online,WasOnline;
  270. extern ULONG             OnlineMinutes;
  271. extern struct timeval         OnlineTime;
  272. extern struct SignalSemaphore     OnlineSemaphore;
  273.  
  274. extern UBYTE             LastConfig[MAX_FILENAME_LENGTH];
  275. extern UBYTE             DefaultPubScreenName[MAXPUBSCREENNAME + 1],
  276.                  SomePubScreenName[MAXPUBSCREENNAME + 1];
  277.  
  278. extern WORD             StatusStackPointer;
  279. extern WORD             StatusStack[10];
  280. extern struct SignalSemaphore     StatusSemaphore;
  281.  
  282.     /* xON/xOFF processing. */
  283.  
  284. extern struct SignalSemaphore     xONxOFF_Semaphore;
  285. extern LONG             xONxOFF_Lock;
  286. extern BOOL             xOFF_Enabled;
  287.  
  288.     /* Capture file. */
  289.  
  290. extern struct Buffer        *FileCapture;
  291. extern BPTR             PrinterCapture;
  292. extern UBYTE             CaptureName[MAX_FILENAME_LENGTH];
  293. extern BOOL             StandardPrinterCapture,
  294.                  ControllerActive;
  295. extern LONG             BufferFlushCount;
  296. extern COPTR             CaptureData;
  297. extern BOOL             RawCapture;
  298. extern ParseContext        *ParserStuff;
  299.  
  300.     /* Buffer. */
  301.  
  302. extern UBYTE            **BufferLines;
  303. extern LONG             Lines;
  304. extern struct SignalSemaphore     BufferSemaphore;
  305. extern LONG             MaxLines;
  306. extern LONG             BufferSpace;
  307. extern BOOL             BufferClosed;
  308. extern BOOL             BufferFrozen;
  309.  
  310. extern struct MinList         TextBufferHistory;
  311.  
  312.     /* Sound support.c */
  313.  
  314. extern struct SoundConfig     SoundConfig;
  315. extern BOOL             SoundChanged;
  316.  
  317.     /* Phonebook. */
  318. /*
  319. extern struct PhoneEntry    **Phonebook;
  320. extern LONG             PhoneSize;
  321. extern LONG             NumPhoneEntries;
  322. extern struct MinList         PhoneGroupList;
  323. extern ULONG             PhonebookID;
  324. extern ULONG             PhonebookDefaultGroup;
  325. extern UBYTE             PhonePassword[256];
  326. extern BOOL             PhonePasswordUsed,
  327.                  PhonebookAutoDial,
  328.                  PhonebookAutoExit,
  329.                  RebuildMenu;
  330. */
  331. extern PhonebookHandle        *GlobalPhoneHandle;
  332. extern BOOL             RebuildMenu;
  333. extern UBYTE             Password[100];
  334. extern UBYTE             UserName[100];
  335.  
  336. extern UBYTE             CurrentBBSName[40],
  337.                  CurrentBBSNumber[100],
  338.                  CurrentBBSComment[100];
  339.  
  340. extern UBYTE             LastPhone[MAX_FILENAME_LENGTH];
  341. extern UBYTE             LastKeys[MAX_FILENAME_LENGTH];
  342. extern UBYTE             LastMacros[MAX_FILENAME_LENGTH];
  343. extern UBYTE             LastCursorKeys[MAX_FILENAME_LENGTH];
  344. extern UBYTE             LastTranslation[MAX_FILENAME_LENGTH];
  345. extern UBYTE             LastSpeech[MAX_FILENAME_LENGTH];
  346. extern UBYTE             LastSound[MAX_FILENAME_LENGTH];
  347.  
  348. extern struct MacroKeys        *MacroKeys;
  349. extern struct CursorKeys    *CursorKeys;
  350.  
  351.     /* Console stuff. */
  352.  
  353. extern UBYTE            *StripBuffer;
  354. extern UWORD             LastLine,LastColumn,LastPixel;
  355. extern UWORD             LastPrintableColumn;
  356. extern UWORD             LastPrintablePixel;
  357. extern UWORD             CharCellNominator,CharCellDenominator;
  358. extern UBYTE             CurrentFontScale,FontScalingRequired,CurrentCharWidth;
  359. extern UBYTE             Charset,Attributes,FgPen,BgPen;
  360. extern WORD             CursorX,CursorY,Top,Bottom;
  361. extern BOOL             UseRegion,RegionSet,InSequence,ConsoleQuiet,Blocking;
  362. extern BYTE            *TabStops;
  363. extern UWORD             TabStopMax;
  364. extern BYTE             CharMode[2];
  365.  
  366. extern BOOL             VT52_Mode;
  367.  
  368. extern BOOL             ResetDisplay,
  369.                  FixScreenSize;
  370.  
  371. extern struct SignalSemaphore     TerminalSemaphore;    /* Protection from shape changers */
  372.  
  373.     /* Flow filter. */
  374.  
  375. extern STRPTR             AttentionBuffers[SCAN_COUNT];
  376. extern BOOL             BaudPending,UseFlow;
  377. extern UBYTE             BaudBuffer[80],BaudCount;
  378.  
  379. extern struct FlowInfo         FlowInfo;
  380.  
  381. extern STRPTR             DataHold;
  382. extern LONG             DataSize;
  383.  
  384.     /* Transfer data. */
  385.  
  386. extern BOOL             BinaryTransfer;
  387. extern LONG             TransferAbortState;
  388. extern WORD             TransferAbortCount;
  389. extern LONG             TransferBits;
  390.  
  391. extern CONTRANSFER         ConTransfer;
  392.  
  393. extern UBYTE            *DownloadPath;
  394. extern BOOL             Uploading;
  395. extern BOOL             DidTransfer;
  396.  
  397. extern struct Window        *TransferWindow;
  398. extern UBYTE             TransferTitleBuffer[256];
  399. extern BOOL             TransferZoomed;
  400. extern STRPTR             TransferWindowTitle;
  401.  
  402. extern struct LayoutHandle    *TransferHandle;
  403. extern struct List         TransferInfoList;
  404.  
  405. extern struct FileTransferInfo    *FileTransferInfo;
  406.  
  407. extern struct XPR_IO        *XprIO;
  408. extern struct MinList         Update_MsgList;
  409. extern WORD             Update_MsgCount;
  410. extern UBYTE             ProtocolOptsBuffer[256];
  411. extern BOOL             NewOptions;
  412. extern BOOL             XPRCommandSelected;
  413. extern UBYTE             LastXprLibrary[MAX_FILENAME_LENGTH];
  414. extern UBYTE             TransferProtocolName[MAX_FILENAME_LENGTH];
  415. extern BOOL             UsesZModem,SendAbort,TransferAborted,TransferFailed,TransferError;
  416.  
  417. extern struct Process        *TransferProcess;
  418.  
  419.     /* The standard ZModem cancel sequence
  420.      * (ten CAN chars followed by ten
  421.      * BS chars).
  422.      */
  423.  
  424. extern UBYTE             ZModemCancel[];
  425.  
  426.     /* Pay per minute. */
  427.  
  428. extern LONG             PayPerUnit[2];
  429. extern LONG             SecPerUnit[2];
  430. extern struct List        *PatternList,
  431.                 *ActivePattern;
  432. extern UBYTE             LastPattern[MAX_FILENAME_LENGTH];
  433. extern BOOL             PatternsChanged;
  434. extern struct SignalSemaphore     PatternSemaphore;
  435.  
  436.     /* Execute a command/script. */
  437.  
  438. extern ULONG             BlockNestCount;
  439. extern BOOL             WeAreBlocking;
  440.  
  441.     /* Dial list. */
  442.  
  443. extern BOOL             SendStartup;
  444. extern LONG             FirstDialMenu;
  445. extern struct List         RexxDialMsgList;
  446. extern BOOL             DialItemsAvailable;
  447.  
  448.     /* TermMain data. */
  449.  
  450. extern BOOL             ReleaseSerial;
  451. extern BOOL             MainTerminated,
  452.                   IconTerminated,
  453.                  DoIconify,
  454.                  DoDial,
  455.                  KeepQuiet;
  456.  
  457. extern BOOL             ConfigChanged,PhonebookChanged,TranslationChanged,
  458.                  MacroChanged,CursorKeysChanged,FastMacrosChanged,
  459.                  HotkeysChanged,SpeechChanged,BufferChanged;
  460.  
  461.     /* String gadget hooks. */
  462.  
  463. extern struct Window        *CommandWindow;
  464. extern struct Gadget        *CommandGadget;
  465.  
  466. extern BOOL             ClipInput,
  467.                  ClipXerox,
  468.                  ClipPrefix;
  469.  
  470.     /* Text sending. */
  471.  
  472. extern UBYTE             SendPrompt[256];
  473. extern LONG             SendPromptLen;
  474. extern SENDLINE             SendLine;
  475.  
  476.     /* Packet window. */
  477.  
  478. extern struct Window        *PacketWindow;
  479. extern struct Gadget        *PacketGadgetArray[2];
  480. extern struct Menu        *PacketMenu;
  481. extern struct Gadget        *PacketGadgetList;
  482. extern struct List         PacketHistoryList;
  483.  
  484.     /* Some more colour control flags. */
  485.  
  486. extern BOOL             Initializing,LoadColours;
  487.  
  488.     /* The character raster. */
  489.  
  490. extern UBYTE            *Raster,*RasterAttr;
  491. extern LONG             RasterWidth,RasterHeight;
  492. extern struct SignalSemaphore     RasterSemaphore;
  493. extern BOOL             RasterEnabled;
  494.  
  495.     /* Generic lists. */
  496.  
  497. extern struct GenericList    *GenericListTable[GLIST_COUNT];
  498.  
  499.     /* File version test. */
  500.  
  501. extern ULONG VersionProps[2];
  502.  
  503.     /* Window stack. */
  504.  
  505. extern struct Window        *TopWindow;
  506.  
  507. extern struct Window        *WindowStack[5];
  508. extern WORD             WindowStackPtr;
  509.  
  510.     /* Global term ID. */
  511.  
  512. extern LONG             TermID;
  513. extern UBYTE             TermIDString[MAXPUBSCREENNAME + 1];
  514. extern UBYTE             RexxPortName[256];
  515.  
  516.     /* Fast! macros. */
  517.  
  518. extern struct List         FastMacroList;
  519. extern LONG             FastMacroCount;
  520. extern UBYTE             LastFastMacros[MAX_FILENAME_LENGTH];
  521. extern struct Window        *FastWindow;
  522. extern WORD             FastWindowLeft,
  523.                  FastWindowTop,
  524.                  FastWindowHeight;
  525.  
  526.     /* Double-buffered file locking. */
  527.  
  528. extern struct List         DoubleBufferList;
  529. extern struct SignalSemaphore     DoubleBufferSemaphore;
  530.  
  531.     /* XEM interface. */
  532.  
  533. extern struct XEM_IO        *XEM_IO;
  534. extern ULONG             XEM_Signal;
  535. extern struct XEmulatorHostData XEM_HostData;
  536. extern UBYTE            *OptionTitle;
  537. extern struct List         XEM_MacroList;
  538. extern struct XEmulatorMacroKey *XEM_MacroKeys;
  539. extern UBYTE             EmulationName[MAX_FILENAME_LENGTH];
  540.  
  541.     /* Screen scrolling support. */
  542.  
  543. extern UWORD             ScrollLineFirst,ScrollLineLast,
  544.                  ScrollLineCount;
  545. extern struct ScrollLineInfo    *ScrollLines;
  546.  
  547.     /* term review buffer. */
  548.  
  549. extern struct Window        *ReviewWindow;
  550.  
  551.     /* Background information. */
  552.  
  553. extern ULONG             BytesIn,
  554.                  BytesOut;
  555. extern struct DateStamp         SessionStart;
  556. extern struct Window        *InfoWindow;
  557.  
  558.     /* Gadget support routines */
  559.  
  560. extern LONG             InterWidth,
  561.                  InterHeight;
  562.  
  563.     /* Character translation. */
  564.  
  565. extern struct TranslationEntry    **SendTable,
  566.                 **ReceiveTable;
  567.  
  568.     /* Window alignment information. */
  569.  
  570. extern struct WindowInfo WindowInfoTable[];
  571. extern struct SignalSemaphore WindowInfoSemaphore;
  572.  
  573.     /* New user interface. */
  574.  
  575. extern struct Hook LocaleHook;
  576.  
  577.     /* AmigaGuide hook. */
  578.  
  579. extern struct Hook GuideHook;
  580.  
  581.     /* Special queue management. */
  582.  
  583. extern struct MsgQueue    *SpecialQueue;
  584.  
  585.     /* Window and Screen backfill hook. */
  586.  
  587. extern struct Hook BackfillHook;
  588.  
  589. extern ULONG BackfillTag;
  590.  
  591.     /* Intercept data going through SerWrite. */
  592.  
  593. extern BYPASS        SerWriteBypass;
  594.  
  595.     /* The incredibly shrinking file name. */
  596.  
  597. extern UBYTE        ShrunkenName[MAX_FILENAME_LENGTH],
  598.             OriginalName[MAX_FILENAME_LENGTH];
  599.  
  600.     /* Terminal emulation task. */
  601.  
  602. extern struct MsgQueue *TerminalQueue;
  603.  
  604.     /* AppIcon data. */
  605.  
  606. extern struct DiskObject DropIcon;
  607.  
  608.     /* Remember some of the incoming data. */
  609.  
  610. extern BOOL    RememberOutput,
  611.         RememberInput,
  612.  
  613.         Recording,
  614.         RecordingLine;
  615.  
  616.     /* Trap settings. */
  617.  
  618. extern BOOL        WatchTraps;
  619. extern BOOL        TrapsChanged;
  620. extern UBYTE        LastTraps[MAX_FILENAME_LENGTH];
  621. extern ParseContext    *TrapStuff;
  622.  
  623.     /* CR/LF receiver translation data. */
  624.  
  625. extern TRANSLATEFUNC    Translate_CR_LF;
  626.  
  627.     /* End of line conversion labels. */
  628.  
  629. extern STRPTR EOL_Labels[];
  630.  
  631.  
  632. /**********************************************************************/
  633.  
  634.  
  635.     /* This follows the control code information. */
  636.  
  637. extern struct ControlCode     ANSICode[];
  638. extern WORD             NumCodes;
  639.  
  640.  
  641. /**********************************************************************/
  642.  
  643.  
  644. extern UWORD            PenTable[16];
  645. extern STRPTR            ParityMappings[];
  646. extern STRPTR            BooleanMappings[];
  647. extern STRPTR            DuplexMappings[];
  648. extern STRPTR            HandshakingMappings[];
  649. extern UBYTE            TextAttributeTable[16];
  650. extern WORD            ForegroundPen,
  651.                 BackgroundPen;
  652.  
  653.  
  654. /**********************************************************************/
  655.  
  656.  
  657. extern BOOL            ChatMode;
  658. extern BOOL            UseInternalZModem;
  659. extern ULONG            SliderType;
  660. extern ULONG            CycleType;
  661.  
  662.  
  663. /**********************************************************************/
  664.  
  665.  
  666. extern struct ColourTable    *NormalColourTable,
  667.                 *BlinkColourTable,
  668.                 *ANSIColourTable,
  669.                 *EGAColourTable,
  670.                 *DefaultColourTable,
  671.                 *MonoColourTable;
  672.  
  673.  
  674. /**********************************************************************/
  675.  
  676.  
  677. extern UBYTE Language[80];
  678.  
  679.  
  680. /**********************************************************************/
  681.  
  682.  
  683. extern STRPTR CharCodes[256];
  684.  
  685.  
  686. /**********************************************************************/
  687.  
  688.  
  689. extern struct Window *MatrixWindow;
  690.  
  691.  
  692. /**********************************************************************/
  693.  
  694.  
  695. extern SAVERASTER SaveRaster;
  696.  
  697.  
  698. /**********************************************************************/
  699.  
  700.  
  701. extern struct SignalSemaphore     BufferTaskSemaphore;
  702. extern struct TextBufferInfo    *BufferInfoData;
  703.  
  704. extern struct SignalSemaphore     ReviewTaskSemaphore;
  705. extern struct TextBufferInfo    *ReviewInfoData;
  706.  
  707.  
  708. /**********************************************************************/
  709.  
  710.  
  711. extern struct AttributeEntry     AttributeTable[];
  712. extern WORD             AttributeTableSize;
  713.  
  714.     /* This is where the information on what arguments exclude
  715.      * other arguments is linked to the actual commands.
  716.      */
  717.  
  718. extern struct ExclusionInfo *ExclusionTable[];
  719.  
  720.     /* This is where the information on which arguments (switches and keywords)
  721.      * are actually required is stored.
  722.      */
  723.  
  724. extern UWORD InclusionTable[];
  725.  
  726.     /* This is where command names, arguments and the routines
  727.      * to execute the actual commands are linked together.
  728.      */
  729.  
  730. extern struct CommandInfo     CommandTable[];
  731. extern WORD             CommandTableSize;
  732.  
  733. extern struct MsgPort        *RexxPort;
  734. extern LONG             LastRexxError;
  735. extern LONG             RexxTimeoutVal;
  736. extern BOOL             UpdateRequired,TransferUpdateRequired;
  737.  
  738.  
  739. /**********************************************************************/
  740.  
  741.  
  742.     /* The signal semaphores and lists to initialize at program startup time. */
  743.  
  744. extern struct SignalSemaphore    *StartupSemaphoreTable[];
  745. extern struct List        *StartupListTable[];
  746.  
  747.  
  748. /**********************************************************************/
  749.  
  750.  
  751.     /* Job queues and jobs. */
  752.  
  753. extern JobQueue    *MainJobQueue;
  754. extern JobNode    *XEMJob,
  755.         *SerialCheckJob,
  756.         *WorkbenchWindowJob,
  757.         *SerialJob,
  758.         *OwnDevUnitJob,
  759.         *WindowJob,
  760.         *SingleWindowJob,
  761.         *WindowAndXEMJob,
  762.         *RexxJob,
  763.         *QueueJob,
  764.         *ReleaseSerialJob,
  765.         *StartupFileJob,
  766.         *IconifyJob,
  767.         *RebuildMenuJob,
  768.         *ResetDisplayJob,
  769.         *OnlineCleanupJob,
  770.         *SerialCacheJob,
  771.         *DisplayCostJob,
  772.         *TerminalTestJob;
  773.  
  774.     /* Jobs to create at program startup time. */
  775.  
  776. extern struct JobInitStruct JobInitTable[];
  777.  
  778. /**********************************************************************/
  779.  
  780.     /* Simplified serial read routines that know about cached data. */
  781.  
  782. extern ULONG    (*SerialWaitForData)(ULONG OtherBits);
  783. extern ULONG    (*SerialGetWaiting)(VOID);
  784. extern LONG    (*SerialRead)(UBYTE *Buffer,LONG Size);
  785.  
  786. /**********************************************************************/
  787.  
  788. #endif
  789.